home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / Ochrona prywatnosci / DBAN 1.0.7 / dban-1.0.7_i386.exe / config / busybox-0.60.5 next >
Text File  |  2006-08-13  |  15KB  |  496 lines

  1. /* vi: set sw=4 ts=4: */
  2. // This file defines the feature set to be compiled into busybox.
  3. // When you turn things off here, they won't be compiled in at all.
  4. //
  5. //// This file is parsed by sed.  You MUST use single line comments.
  6. //   i.e.,  //#define BB_BLAH
  7. //
  8. //
  9. // BusyBox Applications
  10. //#define BB_ADJTIMEX
  11. //#define BB_AR
  12. #define BB_ASH
  13. //#define BB_BASENAME
  14. //#define BB_CAT
  15. //#define BB_CHGRP
  16. //#define BB_CHMOD
  17. //#define BB_CHOWN
  18. //#define BB_CHROOT
  19. //#define BB_CHVT
  20. #define BB_CLEAR
  21. //#define BB_CMP
  22. #define BB_CP
  23. //#define BB_CPIO
  24. //#define BB_CUT
  25. #define BB_DATE
  26. //#define BB_DC
  27. #define BB_DD
  28. //#define BB_DEALLOCVT
  29. //#define BB_DF
  30. //#define BB_DIRNAME
  31. #define BB_DMESG
  32. //#define BB_DOS2UNIX
  33. //#define BB_DPKG
  34. //#define BB_DPKG_DEB
  35. //#define BB_DUTMP
  36. //#define BB_DU
  37. //#define BB_DUMPKMAP
  38. #define BB_DWIPE
  39. #define BB_ECHO
  40. //#define BB_ENV
  41. //#define BB_EXPR
  42. //#define BB_FBSET
  43. //#define BB_FDFLUSH
  44. //#define BB_FIND
  45. //#define BB_FREE
  46. //#define BB_FREERAMDISK
  47. //#define BB_FSCK_MINIX
  48. //#define BB_GETOPT
  49. #define BB_GREP
  50. //#define BB_GUNZIP
  51. #define BB_GZIP
  52. //#define BB_HALT
  53. //#define BB_HEAD
  54. //#define BB_HOSTID
  55. //#define BB_HOSTNAME
  56. //#define BB_HUSH
  57. //#define BB_ID
  58. //#define BB_IFCONFIG
  59. //#define BB_INIT
  60. //#define BB_INSMOD
  61. //#define BB_KILL
  62. //#define BB_KILLALL
  63. //#define BB_KLOGD
  64. //#define BB_LASH
  65. //#define BB_LENGTH
  66. //#define BB_LN
  67. //#define BB_LOADACM
  68. //#define BB_LOADFONT
  69. //#define BB_LOADKMAP
  70. //#define BB_LOGGER
  71. //#define BB_LOGNAME
  72. //#define BB_LOSETUP
  73. #define BB_LS
  74. //#define BB_LSMOD
  75. //#define BB_MAKEDEVS
  76. //#define BB_MD5SUM
  77. #define BB_MKDIR
  78. //#define BB_MKFIFO
  79. //#define BB_MKFS_MINIX
  80. //#define BB_MKNOD
  81. //#define BB_MKSWAP
  82. //#define BB_MKTEMP
  83. //#define BB_MODPROBE
  84. #define BB_MORE
  85. #define BB_MOUNT
  86. //#define BB_MSH
  87. //#define BB_MT
  88. #define BB_MV
  89. //#define BB_NC
  90. //#define BB_NSLOOKUP
  91. //#define BB_PIDOF
  92. //#define BB_PING
  93. //#define BB_PIVOT_ROOT
  94. //#define BB_POWEROFF
  95. //#define BB_PRINTF
  96. //#define BB_PS
  97. //#define BB_PWD
  98. //#define BB_RDATE
  99. //#define BB_READLINK
  100. //#define BB_REBOOT
  101. //#define BB_RENICE
  102. //#define BB_RESET
  103. //#define BB_RM
  104. //#define BB_RMDIR
  105. //#define BB_RMMOD
  106. //#define BB_ROUTE
  107. //#define BB_RPM2CPIO
  108. #define BB_SED
  109. //#define BB_SETKEYCODES
  110. #define BB_SLEEP
  111. #define BB_SORT
  112. //#define BB_STTY
  113. //#define BB_SWAPONOFF
  114. //#define BB_SYNC
  115. //#define BB_SYSLOGD
  116. //#define BB_TAIL
  117. #define BB_TAR
  118. //#define BB_TEE
  119. #define BB_TEST
  120. //#define BB_TELNET
  121. //#define BB_TFTP
  122. //#define BB_TIME
  123. //#define BB_TOP
  124. //#define BB_TOUCH
  125. #define BB_TR
  126. //#define BB_TRACEROUTE
  127. //#define BB_TRUE_FALSE
  128. //#define BB_TTY
  129. //#define BB_UNIX2DOS
  130. //#define BB_UUENCODE
  131. //#define BB_UUDECODE
  132. #define BB_UMOUNT
  133. //#define BB_UNIQ
  134. //#define BB_UNAME
  135. //#define BB_UPDATE
  136. //#define BB_UPTIME
  137. //#define BB_USLEEP
  138. //#define BB_VI
  139. //#define BB_WATCHDOG
  140. #define BB_WC
  141. //#define BB_WGET
  142. //#define BB_WHICH
  143. //#define BB_WHOAMI
  144. //#define BB_XARGS
  145. //#define BB_YES
  146. // End of Applications List
  147. //
  148. //
  149. //
  150. // ---------------------------------------------------------
  151. // This is where feature definitions go.  Generally speaking,
  152. // turning this stuff off makes things a bit smaller (and less 
  153. // pretty/useful).
  154. //
  155. //
  156. // If you enabled one or more of the shells, you may select which one
  157. // should be run when sh is invoked:
  158. #define BB_FEATURE_SH_IS_ASH
  159. //#define BB_FEATURE_SH_IS_HUSH
  160. //#define BB_FEATURE_SH_IS_LASH
  161. //#define BB_FEATURE_SH_IS_MSH
  162. //
  163. // BusyBox will, by default, malloc space for its buffers.  This costs code
  164. // size for the call to xmalloc.  You can use the following feature to have
  165. // them put on the stack.  For some very small machines with limited stack
  166. // space, this can be deadly.  For most folks, this works just fine...
  167. //#define BB_FEATURE_BUFFERS_GO_ON_STACK
  168. // The third alternative for buffer allocation is to use BSS.  This works
  169. // beautifully for computers with a real MMU (and OS support), but wastes
  170. // runtime RAM for uCLinux.  This behavior was the only one available for
  171. // BusyBox versions 0.48 and earlier.
  172. #define BB_FEATURE_BUFFERS_GO_IN_BSS
  173. //
  174. // Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
  175. // thereby eliminating the need for the /proc filesystem and thereby saving
  176. // lots and lots memory for more important things.  NOTE:  If you enable this
  177. // feature, you _must_ have patched the kernel to include the devps patch that
  178. // is included in the busybox/kernel-patches directory.  You will also need to
  179. // create some device special files in /dev on your embedded system:
  180. //        mknod /dev/mtab c 10 22
  181. //        mknod /dev/ps c 10 21
  182. // I emailed Linus and this patch will not be going into the stock kernel.
  183. //#define BB_FEATURE_USE_DEVPS_PATCH
  184. //
  185. // show verbose usage messages
  186. //#define BB_FEATURE_VERBOSE_USAGE
  187. //
  188. // Use termios to manipulate the screen ('more' is prettier with this on)
  189. //#define BB_FEATURE_USE_TERMIOS
  190. //
  191. // calculate terminal & column widths (for more, ls, and telnet)
  192. //#define BB_FEATURE_AUTOWIDTH
  193. //
  194. // show username/groupnames for ls
  195. //#define BB_FEATURE_LS_USERNAME
  196. //
  197. // show file timestamps in ls
  198. //#define BB_FEATURE_LS_TIMESTAMPS
  199. //
  200. // enable ls -p and -F
  201. //#define BB_FEATURE_LS_FILETYPES
  202. //
  203. // sort the file names
  204. //#define BB_FEATURE_LS_SORTFILES
  205. //
  206. // enable ls -R
  207. //#define BB_FEATURE_LS_RECURSIVE
  208. //
  209. // enable ls -L
  210. //#define BB_FEATURE_LS_FOLLOWLINKS
  211. //
  212. // Use color to identify different file types
  213. //#define BB_FEATURE_LS_COLOR
  214. //
  215. // Disable for a smaller (but less functional) ping
  216. //#define BB_FEATURE_FANCY_PING
  217. //
  218. // Make init use a simplified /etc/inittab file (recommended).
  219. //#define BB_FEATURE_USE_INITTAB
  220. //
  221. //Enable init being called as /linuxrc
  222. //#define BB_FEATURE_LINUXRC
  223. //
  224. //Have init enable core dumping for child processes (for debugging only) 
  225. //#define BB_FEATURE_INIT_COREDUMPS
  226. //
  227. //Make sure nothing is printed to the console on boot
  228. //#define BB_FEATURE_EXTRA_QUIET
  229. //
  230. // enable syslogd -R remotehost
  231. //#define BB_FEATURE_REMOTE_LOG
  232. //
  233. // enable syslogd -C
  234. //#define BB_FEATURE_IPC_SYSLOG
  235. //
  236. //Disable for a simple tail implementation (2.34k vs 3k for the full one).
  237. //Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. 
  238. //#define BB_FEATURE_FANCY_TAIL
  239. //
  240. // Enable support for loop devices in mount
  241. //#define BB_FEATURE_MOUNT_LOOP
  242. //
  243. // Enable support for a real /etc/mtab file instead of /proc/mounts
  244. //#define BB_FEATURE_MTAB_SUPPORT
  245. //
  246. // Enable support for mounting remote NFS volumes. 
  247. // You may need to mount with "-o nolock" if you are
  248. // not running a local portmapper daemon...
  249. //
  250. // If you are using uClibc, be sure that you've already compiled
  251. // uClibc with INCLUDE_RPC=true (contained in the Config file)
  252. //#define BB_FEATURE_NFSMOUNT
  253. //
  254. // Enable support forced filesystem unmounting 
  255. // (i.e., in case of an unreachable NFS system).
  256. #define BB_FEATURE_MOUNT_FORCE
  257. //
  258. // Enable support for creation of tar files.
  259. #define BB_FEATURE_TAR_CREATE
  260. //
  261. // Enable support for "--exclude" and "-X" for excluding files
  262. //#define BB_FEATURE_TAR_EXCLUDE
  263. //
  264. // Enable support for tar -z option (currently only works for inflating)
  265. //#define BB_FEATURE_TAR_GZIP 
  266. //
  267. // Enable reverse sort
  268. //#define BB_FEATURE_SORT_REVERSE
  269. //
  270. // Enable uniqe sort
  271. //#define BB_FEATURE_SORT_UNIQUE
  272. //
  273. // Enable command line editing in the shell.  
  274. // Only relevant if a shell is enabled. On by default.
  275. //#define BB_FEATURE_COMMAND_EDITING
  276. //
  277. // Enable tab completion in the shell.  This is now working quite nicely.
  278. // This feature adds a bit over 4k. Only relevant if a shell is enabled.
  279. //#define BB_FEATURE_COMMAND_TAB_COMPLETION
  280. //
  281. // Attempts to match usernames in a ~-prefixed path
  282. //#define BB_FEATURE_COMMAND_USERNAME_COMPLETION
  283. //
  284. //Allow the shell to invoke all the compiled in BusyBox applets as if they
  285. //were shell builtins.  Nice for staticly linking an emergency rescue shell,
  286. //among other things. Off by default.
  287. // Only relevant if a shell is enabled.
  288. //#define BB_FEATURE_SH_STANDALONE_SHELL
  289. //
  290. //When this is enabled, busybox shell applets can be called using full path
  291. //names.  This causes applets (i.e., most busybox commands) to override
  292. //real commands on the filesystem.  For example, if you run run /bin/cat, it
  293. //will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
  294. //busybox.  Some systems want this, others do not.  Choose wisely.  :-) This
  295. //only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
  296. // Only relevant if a shell is enabled. Off by default.
  297. //#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
  298. //
  299. // Uncomment this option for a fancy shell prompt that includes the
  300. // current username and hostname.  On systems that don't have usernames
  301. // or hostnames, this can look hideous.
  302. // Only relevant if a shell is enabled.
  303. //#define BB_FEATURE_SH_FANCY_PROMPT
  304. //
  305. // Uncomment this option to disable job control.  Job control lets you 
  306. // run jobs in the background (which completely useless for is all you 
  307. // are doing is running scripts).  Disabing this is bad for interactive
  308. // use, since when you hit ^C in an application, it will also kill the 
  309. // shell.  This adds about 2.5k on an x86 system.
  310. //#define BB_FEATURE_ASH_JOB_CONTROL
  311. //
  312. //Turn on extra fbset options
  313. //#define BB_FEATURE_FBSET_FANCY
  314. //
  315. //Turn on fbset readmode support
  316. //#define BB_FEATURE_FBSET_READMODE
  317. //
  318. // Support insmod/lsmod/rmmod for post 2.1 kernels
  319. //#define BB_FEATURE_NEW_MODULE_INTERFACE
  320. //
  321. // Support insmod/lsmod/rmmod for pre 2.1 kernels
  322. //#define BB_FEATURE_OLD_MODULE_INTERFACE
  323. //
  324. // Support module version checking
  325. //#define BB_FEATURE_INSMOD_VERSION_CHECKING
  326. //
  327. // Support for uClinux memory usage optimization, which will load the image
  328. // directly into the kernel memory.  This divides memory requrements by three.
  329. // If you are not running uClinux (i.e., your CPU has an MMU) leave this
  330. // disabled...
  331. //#define BB_FEATURE_INSMOD_LOADINKMEM
  332. //
  333. // Support for Minix filesystem, version 2
  334. //#define BB_FEATURE_MINIX2
  335. //
  336. // Enable ifconfig status reporting output -- this feature adds 7k.
  337. //#define BB_FEATURE_IFCONFIG_STATUS
  338. //
  339. // Enable ifconfig slip-specific options "keepalive" and "outfill"
  340. //#define BB_FEATURE_IFCONFIG_SLIP
  341. //
  342. // Enable ifconfig options "mem_start", "io_addr", and "irq".
  343. //#define BB_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
  344. //
  345. // Enable ifconfig option "hw".  Currently works for only with "ether".
  346. //#define BB_FEATURE_IFCONFIG_HW
  347. //
  348. // Allows "broadcast +" to set broadcast automatically based on hostaddr
  349. // and netmask, at a cost of about 100 bytes of code (i386).
  350. //#define BB_FEATURE_IFCONFIG_BROADCAST_PLUS
  351. //
  352. // Enable busybox --install [-s]
  353. // to create links (or symlinks) for all the commands that are 
  354. // compiled into the binary.  (needs /proc filesystem)
  355. //#define BB_FEATURE_INSTALLER
  356. //
  357. // Enable a nifty progress meter in wget (adds just under 2k)
  358. //#define BB_FEATURE_WGET_STATUSBAR
  359. //
  360. // Enable HTTP authentication in wget
  361. //#define BB_FEATURE_WGET_AUTHENTICATION
  362. //
  363. // Clean up all memory before exiting -- usually not needed
  364. // as the OS can clean up...  Don't enable this unless you
  365. // have a really good reason for cleaning things up manually.
  366. //#define BB_FEATURE_CLEAN_UP
  367. //
  368. // Support for human readable output by ls, du, etc.(example 13k, 23M, 235G)
  369. //#define BB_FEATURE_HUMAN_READABLE
  370. //
  371. // Support for the find -type option.
  372. //#define BB_FEATURE_FIND_TYPE
  373. //
  374. // Support for the find -perm option.
  375. //#define BB_FEATURE_FIND_PERM
  376. //
  377. // Support for the find -mtime option.
  378. //#define BB_FEATURE_FIND_MTIME
  379. //
  380. //// Support for the find -newer option.
  381. //#define BB_FEATURE_FIND_NEWER
  382. //
  383. // Support for the -A -B and -C context flags in grep
  384. //#define BB_FEATURE_GREP_CONTEXT
  385. //
  386. // Support for the EGREP applet (alias to the grep applet)
  387. //#define BB_FEATURE_GREP_EGREP_ALIAS
  388. //
  389. // Tell tftp what commands that should be supported.
  390. //#define BB_FEATURE_TFTP_PUT
  391. //#define BB_FEATURE_TFTP_GET
  392. //
  393. // features for vi
  394. //#define BB_FEATURE_VI_COLON        // ":" colon commands, no "ex" mode
  395. //#define BB_FEATURE_VI_YANKMARK        // Yank/Put commands and Mark cmds
  396. //#define BB_FEATURE_VI_SEARCH        // search and replace cmds
  397. //#define BB_FEATURE_VI_USE_SIGNALS    // catch signals
  398. //#define BB_FEATURE_VI_DOT_CMD        // remember previous cmd and "." cmd
  399. //#define BB_FEATURE_VI_READONLY        // vi -R and "view" mode
  400. //#define BB_FEATURE_VI_SETOPTS        // set-able options,  ai ic showmatch
  401. //#define BB_FEATURE_VI_SET        // :set
  402. //#define BB_FEATURE_VI_WIN_RESIZE    // handle window resize
  403. //
  404. // Enable a if you system have setuped locale
  405. //#define BB_LOCALE_SUPPORT
  406. //
  407. // Support for TELNET to pass TERM type to remote host.  Adds 384 bytes.
  408. //#define BB_FEATURE_TELNET_TTYPE
  409. //
  410. // Support for devfs.
  411. #define BB_FEATURE_DEVFS
  412. //
  413. // End of Features List
  414. //
  415. //
  416. //
  417. //
  418. //
  419. //
  420. //---------------------------------------------------
  421. // Nothing beyond this point should ever be touched by 
  422. // mere mortals so leave this stuff alone.
  423. //
  424. #include <features.h>
  425. #if defined(__uClinux__)
  426.     #undef BB_ASH            /* Not even a chance it will work */
  427.     #undef BB_RPM2CPIO        /* Uses gz_open(), which uses fork() */
  428.     #undef BB_DPKG_DEB        /* Uses gz_open(), which uses fork() */
  429.     #undef BB_FEATURE_TAR_GZIP    /* Uses fork() */
  430.     #undef BB_UPDATE        /* Uses daemon() */
  431. #endif
  432. #if defined BB_ASH || defined BB_HUSH || defined BB_LASH || defined BB_MSH
  433.     #if defined BB_FEATURE_COMMAND_EDITING
  434.         #define BB_CMDEDIT
  435.     #else
  436.         #undef BB_FEATURE_COMMAND_EDITING
  437.         #undef BB_FEATURE_COMMAND_TAB_COMPLETION
  438.         #undef BB_FEATURE_COMMAND_USERNAME_COMPLETION
  439.         #undef BB_FEATURE_SH_FANCY_PROMPT
  440.     #endif
  441. #else
  442.     #undef BB_FEATURE_SH_APPLETS_ALWAYS_WIN
  443.     #undef BB_FEATURE_SH_STANDALONE_SHELL
  444.     #undef BB_FEATURE_SH_FANCY_PROMPT
  445. #endif
  446. //
  447. #if (defined BB_ASH || defined BB_HUSH || defined BB_MSH) && ! defined BB_TEST
  448.     #define BB_TEST
  449. #endif
  450. //
  451. #ifdef BB_KILLALL
  452.     #ifndef BB_KILL
  453.         #define BB_KILL
  454.     #endif
  455. #endif
  456. //
  457. #ifndef BB_INIT
  458.     #undef BB_FEATURE_LINUXRC
  459. #endif
  460. //
  461. #if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
  462.     #define BB_NFSMOUNT
  463. #endif
  464. //
  465. #if defined BB_FEATURE_AUTOWIDTH
  466.     #ifndef BB_FEATURE_USE_TERMIOS
  467.         #define BB_FEATURE_USE_TERMIOS
  468.     #endif
  469. #endif
  470. //
  471. #if defined BB_INSMOD || defined BB_LSMOD
  472.     #if ! defined BB_FEATURE_NEW_MODULE_INTERFACE && ! defined BB_FEATURE_OLD_MODULE_INTERFACE
  473.         #define BB_FEATURE_NEW_MODULE_INTERFACE
  474.     #endif
  475. #endif
  476. //
  477. #ifdef BB_UNIX2DOS
  478.     #define BB_DOS2UNIX
  479. #endif    
  480. //
  481. #ifdef BB_SYSLOGD
  482.     #if defined BB_FEATURE_IPC_SYSLOG
  483.         #define BB_LOGREAD
  484.     #endif
  485. #endif
  486. //
  487. #if defined BB_ASH && defined BB_FEATURE_SH_IS_ASH
  488. # define shell_main ash_main
  489. #elif defined BB_HUSH && defined BB_FEATURE_SH_IS_HUSH
  490. # define shell_main hush_main
  491. #elif defined BB_LASH && defined BB_FEATURE_SH_IS_LASH
  492. # define shell_main lash_main
  493. #elif defined BB_MSH && defined BB_FEATURE_SH_IS_MSH
  494. # define shell_main msh_main
  495. #endif
  496.